home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #2 / Monster Media No. 2 (Monster Media)(1994).ISO / pcboard / edsb121b.zip / EDSFILE.007 (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-05-01  |  11KB  |  641 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN001
  20.     Boolean  BOOLEAN002
  21.     Boolean  BOOLEAN003
  22.     Boolean  BOOLEAN004
  23.     Boolean  BOOLEAN005
  24.     Boolean  BOOLEAN006
  25.     Date     DATE001
  26.     Date     DATE002
  27.     Integer  INTEGER001
  28.     Integer  INTEGER002
  29.     Integer  INTEGER003
  30.     Real     REAL001
  31.     Real     REAL002
  32.     Real     REAL003
  33.     String   STRING001
  34.     String   STRING002
  35.     String   STRING003
  36.     String   STRING004
  37.     String   STRING005
  38.     Time     TIME001
  39.     Time     TIME002
  40.     Byte     BYTE001
  41.     Byte     BYTE002
  42.     Byte     BYTE003
  43.     Byte     BYTE004
  44.     Word     WORD001
  45.  
  46. ;------------------------------------------------------------------------------
  47.  
  48.     BOOLEAN006 = 0
  49.     GetToken STRING001
  50.     If (Trim(STRING001, " ") == "") Then
  51.         PrintLn 
  52.         PrintLn "@X0CEUTMOD5 FATAL ERROR:   INVALID COMMAND SEQUENCE!"
  53.         PrintLn 
  54.         PrintLn "@X0APlease run EUTMOD5 from within EDSUtil!"
  55.         PrintLn 
  56.         Goto LABEL021
  57.     Else
  58.         Select Case (STRING001)
  59.             Case "1"
  60.                 BOOLEAN006 = 1
  61.             Case "2"
  62.                 BOOLEAN006 = 0
  63.             Endif
  64.     End Select
  65.     :LABEL001
  66.     If (BOOLEAN005) Goto LABEL005
  67.     PrintLn 
  68.     PrintLn "    @X0F(@X09L@X0F)@X0Bocking Timetable"
  69.     PrintLn "    @X0F(@X09D@X0F)@X0Bialing Template Timetable"
  70.     PrintLn "    @X0F(@X09Q@X0F)@X0Buit to EDSUtil main"
  71.     PrintLn 
  72.     STRING004 = ""
  73.     InputStr "Timetable to edit", STRING004, 14, 1, "LlDdQq", 2 + 4
  74.     STRING004 = Upper(STRING004)
  75.     Newline
  76.     Select Case (STRING004)
  77.         Case "Q", "R"
  78.             BOOLEAN005 = 1
  79.             Goto LABEL021
  80.         Case "L"
  81.             STRING001 = PPEPath() + "EDSBACK.XXX"
  82.             If (Exist(PPEPath() + "EDSBACK.XXX")) Then
  83.                 FOpen 2, STRING001, 0, 0
  84.             Else
  85.                 PrintLn 
  86.                 PrintLn "@X0FPath & filename to EDSBack config file @X0E(Enter Below)"
  87.                 InputStr "", STRING001, 12, 75, Mask_Path() + Mask_File(), 2 + 4
  88.                 If (Exist(STRING001)) Goto LABEL002
  89.                 PrintLn 
  90.                 PrintLn "@X0C" + STRING001 + " DOES NOT EXIST!   @X0AReturning to EDSUtil Main..."
  91.                 Goto LABEL021
  92.                 Goto LABEL003
  93.                 :LABEL002
  94.                 FOpen 2, STRING001, 0, 0
  95.             Endif
  96.             :LABEL003
  97.             If (Ferr(2)) Then
  98.                 BOOLEAN001 = 1
  99.             Else
  100.                 BOOLEAN001 = 0
  101.             Endif
  102.             If (BOOLEAN001) Then
  103.                 PrintLn 
  104.                 PrintLn "@X0CSorry, the @X0F" + STRING001 + " @X0Cfile is currently inaccessible..."
  105.                 FClose 2
  106.                 Return
  107.             Endif
  108.             FSeek 2, 884, 0
  109.             FRead 2, STRING002, 75
  110.             FClose 2
  111.             If (BOOLEAN006) Then
  112.                 Gosub LABEL005
  113.             Else
  114.                 Gosub LABEL008
  115.             Endif
  116.             BOOLEAN005 = 0
  117.         Case "D"
  118.             STRING005 = ""
  119.             InputText "Name of dialing template", STRING005, 10, 10
  120.             If (Strip(STRING005, " ") == "") Goto LABEL021
  121.             STRING002 = PPEPath() + Mid(STRING005, 1, 8) + ".TBL"
  122.             STRING002 = Strip(STRING002, " ")
  123.             If (BOOLEAN006) Then
  124.                 Gosub LABEL005
  125.                 Goto LABEL004
  126.             Endif
  127.             Gosub LABEL008
  128.             :LABEL004
  129.             BOOLEAN005 = 0
  130.     End Select
  131.     Goto LABEL001
  132.     :LABEL005
  133.     INTEGER001 = 0
  134.     INTEGER002 = 0
  135.     If (Exist(STRING002)) Goto LABEL006
  136.     PrintLn 
  137.     PrintLn "@X0C" + STRING002 + " does not exist!"
  138.     Delay 9
  139.     Return
  140.     :LABEL006
  141.     INTEGER001 = FileInf(STRING002, 4)
  142.     INTEGER002 = (INTEGER001 - 43) / 25
  143.     PrintLn 
  144.     PrintLn "@X0F   File Size = " + String(INTEGER001) + "  Number of Records = " + String(INTEGER002)
  145.     If (INTEGER002 <= 1) Then
  146.         PrintLn 
  147.         PrintLn "@X0CTHERE MUST BE AT LEAST ONE RECORD PRESENT IN THE TIMETABLE FILE!"
  148.         PrintLn 
  149.         Delay 18
  150.         Return
  151.     Endif
  152.     KbdChkOff
  153.     Rename STRING002, PPEPath() + String(PcbNode()) + "tt.$$$"
  154.     BOOLEAN001 = 1
  155.     FCreate 1, STRING002, 1, 2
  156.     If (Ferr(1)) Then
  157.         BOOLEAN001 = 1
  158.     Else
  159.         BOOLEAN001 = 0
  160.     Endif
  161.     If (BOOLEAN001) Then
  162.         PrintLn 
  163.         PrintLn "@X0CSorry, the @X0F" + STRING002 + " @X0Cfile is currently inaccessible..."
  164.         FClose 1
  165.         Return
  166.     Endif
  167.     BOOLEAN001 = 1
  168.     FOpen 2, PPEPath() + String(PcbNode()) + "tt.$$$", 0, 3
  169.     If (Ferr(2)) Then
  170.         BOOLEAN001 = 1
  171.     Else
  172.         BOOLEAN001 = 0
  173.     Endif
  174.     If (BOOLEAN001) Then
  175.         PrintLn 
  176.         PrintLn "@X0CSorry, the @X0F" + String(PcbNode()) + "tt.$$$ @X0Cfile is currently inaccessible..."
  177.         FClose 2
  178.         FClose 1
  179.         PrintLn 
  180.         PrintLn "@X0ADeleting & renaming temporary files..."
  181.         Delete STRING002
  182.         Rename PPEPath() + String(PcbNode()) + "tt.$$$", STRING002
  183.         Return
  184.     Endif
  185.     BOOLEAN002 = 0
  186.     FSeek 1, 0, 0
  187.     FWrite 1, " EDSBack v1.21 TimeTable File         " + Chr(13) + Chr(10) + Chr(32) + Chr(26) + Chr(0), 43
  188.     PrintLn 
  189.     PrintLn "@X0FPacking TimeTable File: " + Upper(STRING002)
  190.     If (OnLocal()) Then
  191.         PrintLn 
  192.         Print "@X0F0% @X07░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ @X0F100%"
  193.         BYTE001 = GetY()
  194.     Else
  195.         PrintLn 
  196.         Print "Purifying file...     "
  197.     Endif
  198.     INTEGER001 = FileInf(PPEPath() + String(PcbNode()) + "tt.$$$", 4)
  199.     INTEGER002 = (INTEGER001 - 43) / 25
  200.     INTEGER003 = 1
  201.     While (INTEGER003 <= INTEGER002) Do
  202.         BOOLEAN002 = 0
  203.         BOOLEAN003 = 0
  204.         WORD001 = 0
  205.         DATE001 = 0
  206.         TIME001 = 0
  207.         DATE002 = 0
  208.         TIME002 = 0
  209.         FSeek 2, 43 + INTEGER003 * 25 - 25, 0
  210.         FRead 2, BOOLEAN003, 1
  211.         If (BOOLEAN003) Then
  212.             BOOLEAN002 = 1
  213.         Else
  214.             BOOLEAN002 = 0
  215.         Endif
  216.         If (BOOLEAN002) Goto LABEL007
  217.         FWrite 1, BOOLEAN003, 1
  218.         FRead 2, WORD001, 2
  219.         FWrite 1, WORD001, 2
  220.         FRead 2, DATE001, 2
  221.         FWrite 1, DATE001, 2
  222.         FRead 2, TIME001, 4
  223.         FWrite 1, TIME001, 4
  224.         FRead 2, DATE002, 2
  225.         FWrite 1, DATE002, 2
  226.         FRead 2, TIME002, 4
  227.         FWrite 1, TIME002, 4
  228.         FWrite 1, Space(10), 10
  229.         :LABEL007
  230.         If (OnLocal()) Then
  231.             Gosub LABEL018
  232.         Else
  233.             Gosub LABEL019
  234.         Endif
  235.         Inc INTEGER003
  236.     EndWhile
  237.     Color 7
  238.     FClose 1
  239.     FClose 2
  240.     PrintLn 
  241.     PrintLn 
  242.     PrintLn "@X0BDeleting temporary files..."
  243.     Delete PPEPath() + String(PcbNode()) + "tt.$$$"
  244.     PrintLn "@X0EChecking files..."
  245.     INTEGER001 = FileInf(STRING002, 4)
  246.     INTEGER002 = (INTEGER001 - 43) / 25
  247.     If (INTEGER002 < 1) Then
  248.         PrintLn 
  249.         PrintLn "@X0C0 byte file!  Recreating with a dummy record..."
  250.         FCreate 1, STRING002, 1, 2
  251.         FWrite 1, " EDSBack v1.21 TimeTable File         " + Chr(13) + Chr(10) + Chr(32) + Chr(26) + Chr(0), 43
  252.         FWrite 1, 0, 1
  253.         FWrite 1, 0, 2
  254.         FWrite 1, 0, 2
  255.         FWrite 1, 0, 4
  256.         FWrite 1, 0, 2
  257.         FWrite 1, 0, 4
  258.         FWrite 1, Space(10), 10
  259.         FClose 1
  260.         PrintLn "@X0ANew timetable successfully created..."
  261.     Endif
  262.     PrintLn "@X0FTimetable successfully packed!"
  263.     Log "Timetable successfully packed!", 0
  264.     KbdChkOn
  265.     Return
  266.     :LABEL008
  267.     If (Exist(STRING002)) Goto LABEL009
  268.     PrintLn 
  269.     PrintLn "@X0CCreating " + STRING002 + "..."
  270.     BOOLEAN001 = 0
  271.     FCreate 1, STRING002, 2, 2
  272.     If (Ferr(1)) Then
  273.         BOOLEAN001 = 1
  274.     Else
  275.         BOOLEAN001 = 0
  276.     Endif
  277.     If (BOOLEAN001) Then
  278.         PrintLn 
  279.         PrintLn "@X0CSorry, the @X0F" + STRING002 + " @X0Cfile is currently inaccessible..."
  280.         FClose 1
  281.         Return
  282.     Endif
  283.     FWrite 1, " EDSBack v1.21 TimeTable File         " + Chr(13) + Chr(10) + Chr(32) + Chr(26) + Chr(0), 43
  284.     FWrite 1, 0, 1
  285.     FWrite 1, 0, 2
  286.     FWrite 1, 0, 2
  287.     FWrite 1, 0, 4
  288.     FWrite 1, 0, 2
  289.     FWrite 1, 0, 4
  290.     FWrite 1, Space(10), 10
  291.     INTEGER001 = 68
  292.     Goto LABEL010
  293.     :LABEL009
  294.     PrintLn 
  295.     PrintLn "@X0AReading " + STRING002 + "..."
  296.     BOOLEAN001 = 0
  297.     FOpen 1, STRING002, 2, 2
  298.     If (Ferr(1)) Then
  299.         BOOLEAN001 = 1
  300.     Else
  301.         BOOLEAN001 = 0
  302.     Endif
  303.     If (BOOLEAN001) Then
  304.         PrintLn 
  305.         PrintLn "@X0CSorry, the @X0F" + STRING002 + " @X0Cfile is currently inaccessible..."
  306.         FClose 1
  307.         Return
  308.     Endif
  309.     INTEGER001 = FileInf(STRING002, 4)
  310.     :LABEL010
  311.     BOOLEAN002 = 0
  312.     INTEGER002 = (INTEGER001 - 43) / 25
  313.     INTEGER003 = 1
  314.     BOOLEAN004 = 1
  315.     While (!BOOLEAN002 && !Ferr(1)) Do
  316.         If (BOOLEAN004) Then
  317.             FSeek 1, 43 + 25 * INTEGER003 - 25, 0
  318.             FRead 1, BOOLEAN003, 1
  319.             FRead 1, WORD001, 2
  320.             FRead 1, DATE001, 2
  321.             FRead 1, TIME001, 4
  322.             FRead 1, DATE002, 2
  323.             FRead 1, TIME002, 4
  324.         Endif
  325.         PrintLn 
  326.         PrintLn "TimeTable File: " + Upper(STRING002)
  327.         PrintLn 
  328.         PrintLn "@X0ARecord #@X0F" + String(INTEGER003) + "@X0A of@X0F " + String(INTEGER002)
  329.         PrintLn 
  330.         PrintLn "    @X0F(@X09N@X0F)@X0Bode    : @X0C" + String(WORD001)
  331.         Print "    @X0F(@X09D@X0F)@X0Beleted : @X0C"
  332.         If (BOOLEAN003) Then
  333.             PrintLn "Yes"
  334.         Else
  335.             PrintLn "No "
  336.         Endif
  337.         PrintLn 
  338.         PrintLn "    @X0F(@X091@X0F)@X0B Date to Lock   : @X0C" + String(DATE001)
  339.         PrintLn "    @X0F(@X092@X0F)@X0B Time to Lock   : @X0C" + String(TIME001)
  340.         PrintLn "    @X0F(@X093@X0F)@X0B Date to Unlock : @X0C" + String(DATE002)
  341.         PrintLn "    @X0F(@X094@X0F)@X0B Time to Unlock : @X0C" + String(TIME002)
  342.         PrintLn 
  343.         PrintLn "    @X0F(@X09+@X0F)@X0B Advance 1 record    @X0F(@X09-@X0F)@X0B Retard 1 record"
  344.         PrintLn "    @X0F(@X09J@X0F)@X0Bump to record        @X0F(@X09A@X0F)@X0Bdd a record"
  345.         PrintLn "    @X0F(@X09Q@X0F)@X0Buit to main"
  346.         PrintLn 
  347.         STRING003 = "+"
  348.         InputStr "(H)elp, Enter command", STRING003, 15, 1, "+-NnDd1234JjAaQqRrHh", 2 + 4
  349.         Newline
  350.         STRING003 = Upper(STRING003)
  351.         If ((STRING003 == "Q") || (STRING003 == "R")) Then
  352.             BOOLEAN004 = 0
  353.             BOOLEAN002 = 1
  354.             Continue
  355.         Endif
  356.         If (STRING003 == "H") Then
  357.             Print "@PON@"
  358.             DispFile PPEPath() + "EDSTE", 1 + 4
  359.             Print "@POFF@"
  360.             Cls
  361.             BOOLEAN004 = 0
  362.             BOOLEAN002 = 0
  363.             Continue
  364.         Endif
  365.         If (STRING003 == "+") Then
  366.             If (INTEGER003 >= INTEGER002) Then
  367.                 INTEGER003 = 1
  368.                 Goto LABEL011
  369.             Endif
  370.             Inc INTEGER003
  371.             :LABEL011
  372.             BOOLEAN002 = 0
  373.             BOOLEAN004 = 1
  374.             Continue
  375.         Endif
  376.         If (STRING003 == "-") Then
  377.             If (INTEGER003 <= 1) Then
  378.                 INTEGER003 = INTEGER002
  379.                 Goto LABEL012
  380.             Endif
  381.             Dec INTEGER003
  382.             :LABEL012
  383.             BOOLEAN002 = 0
  384.             BOOLEAN004 = 1
  385.             Continue
  386.         Endif
  387.         If (STRING003 == "J") Then
  388.             InputInt "Record # to jump to", INTEGER003, 12
  389.             If ((INTEGER003 < 1) || (INTEGER003 > INTEGER002)) INTEGER003 = INTEGER002
  390.             BOOLEAN002 = 0
  391.             BOOLEAN004 = 1
  392.             Continue
  393.         Endif
  394.         If (STRING003 == "N") Then
  395.             InputInt "Node # that this lock pertains to (0=ALL)", WORD001, 12
  396.             Newline
  397.             If (WORD001 > MaxNode()) Then
  398.                 STRING001 = YesChar()
  399.                 InputYN "Node entered larger than maximum allowed. Continue", STRING001, 12
  400.                 STRING001 = Upper(STRING001)
  401.                 If (STRING001 == YesChar()) Then
  402.                     FSeek 1, 43 + INTEGER003 * 25 - 24, 0
  403.                     FWrite 1, WORD001, 2
  404.                 Endif
  405.                 Goto LABEL013
  406.             Endif
  407.             FSeek 1, 43 + INTEGER003 * 25 - 24, 0
  408.             FWrite 1, WORD001, 2
  409.             :LABEL013
  410.             BOOLEAN002 = 0
  411.             BOOLEAN004 = 1
  412.             Continue
  413.         Endif
  414.         If (STRING003 == "D") Then
  415.             If (BOOLEAN003) Then
  416.                 BOOLEAN003 = 0
  417.                 Goto LABEL014
  418.             Endif
  419.             BOOLEAN003 = 1
  420.             :LABEL014
  421.             FSeek 1, 43 + INTEGER003 * 25 - 25, 0
  422.             FWrite 1, BOOLEAN003, 1
  423.             BOOLEAN002 = 0
  424.             BOOLEAN004 = 1
  425.             Continue
  426.         Endif
  427.         If (STRING003 == "1") Then
  428.             InputDate "Date to lock", DATE001, 12
  429.             FSeek 1, 43 + INTEGER003 * 25 - 22, 0
  430.             FWrite 1, DATE001, 2
  431.             BOOLEAN002 = 0
  432.             BOOLEAN004 = 1
  433.             Continue
  434.         Endif
  435.         If (STRING003 == "2") Then
  436.             InputTime "Time to lock", TIME001, 12
  437.             FSeek 1, 43 + INTEGER003 * 25 - 20, 0
  438.             FWrite 1, TIME001, 4
  439.             BOOLEAN002 = 0
  440.             BOOLEAN004 = 1
  441.             Continue
  442.         Endif
  443.         If (STRING003 == "3") Then
  444.             InputDate "Date to unlock", DATE002, 12
  445.             FSeek 1, 43 + INTEGER003 * 25 - 16, 0
  446.             FWrite 1, DATE002, 2
  447.             BOOLEAN002 = 0
  448.             BOOLEAN004 = 1
  449.             Continue
  450.         Endif
  451.         If (STRING003 == "4") Then
  452.             InputTime "Time to unlock", TIME002, 12
  453.             FSeek 1, 43 + INTEGER003 * 25 - 14, 0
  454.             FWrite 1, TIME002, 4
  455.             BOOLEAN002 = 0
  456.             BOOLEAN004 = 1
  457.             Continue
  458.         Endif
  459.         If (STRING003 == "A") Then
  460.             BOOLEAN001 = 0
  461.             :LABEL015
  462.             If (BOOLEAN001) Goto LABEL017
  463.             InputInt "Node # that this lock pertains to (0=ALL)", WORD001, 12
  464.             FreshLine
  465.             If (WORD001 > MaxNode()) Then
  466.                 PrintLn "@X0C Node out of range!  Please enter a valid node number!"
  467.                 BOOLEAN001 = 0
  468.                 Goto LABEL016
  469.             Endif
  470.             BOOLEAN001 = 1
  471.             :LABEL016
  472.             Goto LABEL015
  473.             :LABEL017
  474.             FreshLine
  475.             InputDate "Date to lock", DATE001, 12
  476.             FreshLine
  477.             InputTime "Time to lock", TIME001, 12
  478.             FreshLine
  479.             InputDate "Date to unlock", DATE002, 12
  480.             FreshLine
  481.             InputTime "Time to unlock", TIME002, 12
  482.             PrintLn 
  483.             PrintLn "@X0CCreating record..."
  484.             FSeek 1, 0, 2
  485.             FWrite 1, 0, 1
  486.             FWrite 1, WORD001, 2
  487.             FWrite 1, DATE001, 2
  488.             FWrite 1, TIME001, 4
  489.             FWrite 1, DATE002, 2
  490.             FWrite 1, TIME002, 4
  491.             FWrite 1, Space(10), 10
  492.             INTEGER001 = INTEGER001 + 25
  493.             Inc INTEGER002
  494.             INTEGER003 = INTEGER002
  495.             BOOLEAN002 = 0
  496.             BOOLEAN004 = 1
  497.         Endif
  498.     EndWhile
  499.     FClose 1
  500.     Return
  501.     :LABEL018
  502.     If (INTEGER003 == 1) BYTE004 = 0
  503.     If ((INTEGER003 <> 0) && (INTEGER002 <> 0)) Then
  504.         REAL002 = ToReal(INTEGER003) / ToReal(INTEGER002)
  505.         REAL003 = FmtReal(ToReal(35) * REAL002, 1, 0)
  506.         BYTE003 = ToByte(REAL003) - BYTE004
  507.         If (BYTE003 <> BYTE004) Then
  508.             Color 63
  509.             AnsiPos 4 + BYTE004, BYTE001
  510.             For BYTE004 = 1 To BYTE003
  511.                 Print "░"
  512.             Next
  513.             BYTE004 = ToByte(REAL003)
  514.             REAL002 = FmtReal(REAL002 * 100, 1, 0)
  515.             BYTE003 = (43 - Len(String(REAL002) + "%")) / 2
  516.             Color 11
  517.             REAL003 = ToReal(BYTE001) - 1
  518.             AnsiPos BYTE003, ToByte(REAL003)
  519.             Print String(REAL002) + "%"
  520.             AnsiPos 45, BYTE001
  521.         Endif
  522.     Endif
  523.     Return
  524.     :LABEL019
  525.     If ((INTEGER003 <> 0) && (INTEGER002 <> 0)) Then
  526.         If (INTEGER003 == 1) Then
  527.             BYTE002 = 0
  528.             Goto LABEL020
  529.         Endif
  530.         BYTE002 = REAL001
  531.         :LABEL020
  532.         REAL001 = ToReal(INTEGER003) / ToReal(INTEGER002)
  533.         REAL001 = FmtReal(REAL001 * 100, 1, 0)
  534.         If (BYTE002 <> REAL001) Then
  535.             Backup Len(String(BYTE002) + "%")
  536.             Print String(REAL001) + "%"
  537.         Endif
  538.     Endif
  539.     Return
  540.     :LABEL021
  541.     End
  542.  
  543. ;------------------------------------------------------------------------------
  544. ;
  545. ; Usage report (before postprocessing)
  546. ;
  547. ; ■ Statements used :
  548. ;
  549. ;    1       End
  550. ;    1       Cls
  551. ;    3       Color 
  552. ;    102     Goto 
  553. ;    104     Let 
  554. ;    8       Print 
  555. ;    70      PrintLn 
  556. ;    61      If 
  557. ;    1       DispFile 
  558. ;    3       FCreate 
  559. ;    4       FOpen 
  560. ;    11      FClose 
  561. ;    2       Delete 
  562. ;    1       Log 
  563. ;    3       InputStr 
  564. ;    1       InputYN 
  565. ;    3       InputInt 
  566. ;    4       InputDate 
  567. ;    4       InputTime 
  568. ;    6       Gosub 
  569. ;    11      Return
  570. ;    2       Delay 
  571. ;    3       Inc 
  572. ;    1       Dec 
  573. ;    3       Newline
  574. ;    1       GetToken 
  575. ;    1       InputText 
  576. ;    1       KbdChkOn
  577. ;    1       KbdChkOff
  578. ;    3       AnsiPos 
  579. ;    1       Backup 
  580. ;    5       FreshLine
  581. ;    2       Rename 
  582. ;    12      FSeek 
  583. ;    13      FRead 
  584. ;    38      FWrite 
  585. ;
  586. ;
  587. ; ■ Functions used :
  588. ;
  589. ;    12      *
  590. ;    7       /
  591. ;    82      +
  592. ;    16      -
  593. ;    24      ==
  594. ;    6       <>
  595. ;    3       <
  596. ;    4       <=
  597. ;    3       >
  598. ;    3       >=
  599. ;    60      !
  600. ;    5       &&
  601. ;    4       ||
  602. ;    2       Len(
  603. ;    5       Upper()
  604. ;    1       Mid()
  605. ;    4       Space()
  606. ;    6       Ferr()
  607. ;    15      Chr()
  608. ;    1       Trim()
  609. ;    2       YesChar()
  610. ;    2       Strip()
  611. ;    19      String()
  612. ;    1       Mask_File()
  613. ;    1       Mask_Path()
  614. ;    9       PPEPath()
  615. ;    6       PcbNode()
  616. ;    2       OnLocal()
  617. ;    4       Exist()
  618. ;    1       GetY()
  619. ;    4       FileInf()
  620. ;    2       MaxNode()
  621. ;    3       ToByte()
  622. ;    6       ToReal()
  623. ;    3       FmtReal()
  624. ;
  625. ;------------------------------------------------------------------------------
  626. ;
  627. ; Analysis flags : No flag
  628. ;
  629. ;------------------------------------------------------------------------------
  630. ;
  631. ; Postprocessing report
  632. ;
  633. ;    1       For/Next
  634. ;    2       While/EndWhile
  635. ;    44      If/Then or If/Then/Else
  636. ;    2       Select Case
  637. ;
  638. ;------------------------------------------------------------------------------
  639. ;                 AEGiS Corp - Break the routines, code against the machines!
  640. ;------------------------------------------------------------------------------
  641.